package tests.flexunit
{
	import flexunit.framework.TestSuite;
	
	import tests.flexunit.comparers.DateComparerTests;
	import tests.flexunit.comparers.NumericComparerTests;
	import tests.flexunit.comparers.StringComparerTests;
	import tests.flexunit.utils.DescribeTypeTests;
	import tests.flexunit.utils.GetBaseClassTests;
	import tests.flexunit.utils.GetClassByNameTests;
	import tests.flexunit.utils.GetClassTests;
	import tests.flexunit.utils.GetQualifiedBaseClassNameTests;
	import tests.flexunit.utils.GetQualifiedClassNameTests;
	import tests.flexunit.utils.GetSimpleBaseClassNameTests;
	import tests.flexunit.utils.GetSimpleClassNameTests;
	
	public class LegacyLibraryTestSuite extends TestSuite
	{
		
		///////////////////////////////////////////
		// Singleton
		///////////////////////////////////////////
		
		private static var _instance:LegacyLibraryTestSuite = null;
		
		// get singleton instance
		public static function getInstance() : LegacyLibraryTestSuite
		{
			if (_instance == null)
			{
				_instance = new LegacyLibraryTestSuite();
			}
			
			return _instance;
		}
		
		///////////////////////////////////////////
		// Constructor
		///////////////////////////////////////////
		
		public function LegacyLibraryTestSuite()
		{
			init();
		}
		
		public function init() : void
		{
			// Data Comparer Test Cases
			addTestSuite( DateComparerTests );
			addTestSuite( NumericComparerTests );
			addTestSuite( StringComparerTests );
			
			// Utility Test Cases
			addTestSuite( GetClassTests );
			addTestSuite( GetBaseClassTests );
			addTestSuite( GetClassByNameTests );
			
			addTestSuite( GetSimpleClassNameTests );
			addTestSuite( GetSimpleBaseClassNameTests );
			
			addTestSuite( GetQualifiedClassNameTests );
			addTestSuite( GetQualifiedBaseClassNameTests );
			
			addTestSuite( DescribeTypeTests );
		}
		
	}
	
}